package practice.Day13;

import java.util.Scanner;

/**
 * @Author quan
 * @Description 参数解析
 * @Date 2023/5/26 9:07
 */
public class Num1_Answer {

        /**
         * 通过双引号和空格为间隙，统计参数个数。对于双引号，通过添加flag来保证中间的空格可以进行输出。
         * 下面的是自己参考答案写的，一直有点bug
         */
//        Scanner sc = new Scanner(System.in);
//        String str = sc.nextLine();
//        //1、定义计数个数
//        int count = 0;
//        for (int i = 0; i < str.length(); i++) {
//            //2、遍历字符串，如果遇见的是“，则就行寻找下一个双引号
//            if(str.charAt(i) == '"'){
//                //先执行do中的语句，如果while的条件为真，则继续执行；否则跳出循环
//                do{
//                    i++;
//                }while (str.charAt(i)!='"');
//            }
//            //3、如果遇见的是空格，则直接计数+1；
//            if (str.charAt(i) == ' ') {
//                count++;
//            }
//        }
//        //4、打印计数结果
//        System.out.println(count+1);
//        //定义标志位flag
//        boolean flag = true;
//        for (int i = 0; i < str.length(); i++) {
//            //如果两个值相同，则异或结果为0; 不相同则异或结果为1。
//            //1、如果遇见了第一个"，则改变flag状态为false；遇见第二个则变为true
//            if(str.charAt(i) == '"' && flag == true){
//                flag = false;
//            }
//            if(str.charAt(i) == '"' && flag == false){
//                flag = true;
//            }
//            //2、如果遇见的是空格并且遇见第一个“，说明该空格在双引号之内要打印
//            if(str.charAt(i) ==' ' && flag==false){
//                System.out.print(str.charAt(i));
//            }
//            //3、如果遇见的不空格并且没有“，说明该字符要打印
//            if(str.charAt(i) != ' ' && str.charAt(i) !='"'){
//                System.out.print(str.charAt(i));
//            }
//            //4、如果遇见的是空格并且在第二个双引号之外，则要打印换行
//            if(str.charAt(i) == ' ' && flag == true){
//                System.out.println();
//            }
//        }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            //若遇到双引号，需要找到下一个双引号
            if (str.charAt(i) == '"') {
                do {
                    i++;
                } while (str.charAt(i) != '"');
            }
            if (str.charAt(i) == ' ') {
                count++;
            }
        }
        System.out.println(count + 1);
        int flag = 1;
        for (int i = 0; i < str.length(); i++) {
            //第一个双引号变0，遇到第二个变1
            if (str.charAt(i) == '"') {
                flag ^= 1;
            }
            //除双引号和空格之外特殊符号都要打印
            if (str.charAt(i) != ' ' && str.charAt(i) != '"') {
                System.out.print(str.charAt(i));
            }
            //双引号中的空格要打印
            if (str.charAt(i) == ' ' && flag == 0) {
                System.out.print(str.charAt(i));
            }
            //双引号外的空格要换行
            if (str.charAt(i) == ' ' && flag == 1) {
                System.out.println();
            }
        }
    }
}
